package com.rhino.xchat.http.api

import com.rhino.base.http.Description
import com.rhino.xchat.http.request.ReqLogin
import com.rhino.xchat.http.response.ResLoginInfo
import com.rhino.xchat.http.response.ResUserInfo
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST

/**ø
 * @author LuoLin
 * @since Create on 2025/4/1.
 */
interface AccountApi {

    @Description(value = "发送验证码")
    @POST("api/sendSms")
    suspend fun sendSms(
        @Body req: ReqLogin
    ): ResLoginInfo

    @Description(value = "注册")
    @POST("api/regist")
    suspend fun regist(
        @Body req: ReqLogin
    ): ResLoginInfo

    @Description(value = "完善信息")
    @POST("api/wsUserInfo")
    suspend fun wsUserInfo(
        @Body req: ReqLogin
    ): ResLoginInfo

    @Description(value = "忘记密码")
    @POST("api/forgetPwd")
    suspend fun forgetPwd(
        @Body req: ReqLogin
    ): ResLoginInfo

    @Description(value = "验证码登录")
    @POST("api/smsLogin")
    suspend fun smsLogin(
        @Body req: ReqLogin
    ): ResLoginInfo

    @Description(value = "密码登录")
    @POST("api/pwdLogin")
    suspend fun pwdLogin(
        @Body req: ReqLogin
    ): ResLoginInfo

    @Description(value = "当前登录用户信息")
    @GET("api/v2/user")
    suspend fun getUserInfo(): ResUserInfo

}